package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Role;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RoleDao {

    //根据用户id查询关联所有角色
    public Set<Role> findByUserId(Integer id);

    //添加新的角色
    public void addNewRole(Role role);

    //添加新的角色权限关系
    public void addNewRoleAndPermission(Map map);

    //条件查询
    public Page<Role> findByCondition(String queryString);

    //根据角色id查询角色信息
    public Role findById(Integer id);

    //根据角色id查询权限的id集合
    public List<Integer> findPermissionIds(Integer id);

    //根据角色id更新角色信息
    public void updateRoleByRoleId(Role role);

    //根据角色id删除关联关系
    public void deleteRoleIdAndPermissionId(Integer roleId);

    //根据角色id查询用户角色关联个数
    public Long findCountFromUserAndRole(Integer roleId);

    //根据角色id删除角色信息
    public void deleteByRoleId(Integer roleId);

    //查询所有的角色
    public List<Role> findAll();
}
